A business process is a structured set of tasks routinely performed by an enterprise to accomplish a concrete business objective. In many instances, the performance of business processes constitutes the routine operation of an enterprise. For example, an enterprise may perform a business process in which employees of the enterprise submit reimbursement requests for travel expenses. In this example, a supervisor reviews each reimbursement request. If, in this example, the supervisor approves a reimbursement request, an accounts payable department of the enterprise writes a check to the employee. If, in this example, the supervisor disapproves a reimbursement request, an email message is sent to the employee notifying the employee that the reimbursement request was denied.
A workflow is a structured set of activities that facilitates performance of a business process. Some or all activities in a workflow correspond to tasks in a business process. Each activity in a workflow comprises a modular set of computer-executable code that, when executed, facilitates a task in the business process. When a computer executes an instance of a workflow, the computer executes the computer-executable code implementing activities in the workflow.
Individual activities in a workflow are modular in the sense that the activities are not dependent on one another to operate correctly. Such modularity enables the same activity to be reused in different workflows. To receive outside information, individual activities have input properties. When a workflow is designed, the input properties of the activities are bound to specific data or data sources. In this way, when the workflow is designed, each activity is able to receive the outside data the activity needs to execute.
Many enterprises use line-of-business databases to store business data. For example, an airline may have a database specifically designed to store passenger bookings. In another example, a police department may have a database specifically designed store criminal records. In some circumstances, it is desirable for activities in a workflow to be able to access data in such line-of-business databases.